package com.freedom.start.sys.service;

import com.freedom.start.common.base.BaseCrudService;
import com.freedom.start.sys.dao.OrgDao;
import com.freedom.start.sys.entity.OrgEntity;
import org.springframework.stereotype.Service;

import java.util.List;

/**
 * @Author: zhenggang.liu
 * @Date: 2020/1/18 9:54
 */
@Service
public class OrgService extends BaseCrudService<OrgDao, OrgEntity> {


    /**
     * 设置机构的父机构ids和名称路径
     * @param entity
     */
    @Override
    public void resetFieldValue(OrgEntity entity) {
        String parentId = entity.getParentId();
        if (parentId != null && parentId.length() > 0) {
            OrgEntity parentOrg = dao.getById(parentId);
            if (parentOrg != null) {
                entity.setLevel(parentOrg.getLevel() + 1);
                entity.setOrgIds(parentOrg.getOrgIds() + "," + entity.getId());
                return;
            }
        }
        entity.setOrgIds(entity.getId());
    }

    /**
     * 批量更新机构
     * @param orgList 要更新的机构列表
     */
    public void batchUpdate(List<OrgEntity> orgList){
        dao.batchUpdate(orgList);
    };
}
